Vamos comparar as séries Game of Thrones e Xena a Princesa Guerreira para responder :
Análise exploratória de dados do IMDB sobre as séries Game of Thrones e Xena a Princesa Guerreira. Os dados originais e as variáveis vêm deste repositorio . Lá consta a explicação de como os dados foram gerados e do significado de cada variável.
episodes <- read_csv(here("data/series_from_imdb.csv"),
progress = FALSE,
col_types = cols(.default = col_double(),
series_name = col_character(),
episode = col_character(),
url = col_character(),
season = col_character())) %>%
filter(series_name %in% c("Game of Thrones","Xena a Princesa Guerreira"))
episodes %>%
glimpse()
Observations: 194
Variables: 18
$ series_name <chr> "Xena a Princesa Guerreira", "Xena a Princesa Guerreira", "Xena a Pri...
$ episode <chr> "Sins of the Past", "Chariots of War", "Dreamworker", "Cradle of Hope...
$ series_ep <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20...
$ season <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1",...
$ season_ep <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20...
$ url <chr> "http://www.imdb.com/title/tt0394990/", "http://www.imdb.com/title/tt...
$ user_rating <dbl> 7.9, 7.4, 7.7, 7.4, 7.5, 7.7, 7.5, 8.0, 7.8, 7.6, 7.1, 7.2, 6.9, 8.2,...
$ user_votes <dbl> 440, 339, 318, 297, 288, 282, 270, 303, 278, 287, 271, 269, 271, 266,...
$ r1 <dbl> 0.003623188, 0.025641026, 0.064516129, 0.023474178, 0.003759398, 0.04...
$ r2 <dbl> 0.04347826, 0.03846154, 0.03548387, 0.02347418, 0.02255639, 0.0405405...
$ r3 <dbl> 0.010869565, 0.038461538, 0.029032258, 0.004694836, 0.000000000, 0.00...
$ r4 <dbl> 0.007246377, 0.034188034, 0.022580645, 0.023474178, 0.003759398, 0.01...
$ r5 <dbl> 0.018115942, 0.042735043, 0.019354839, 0.046948357, 0.045112782, 0.02...
$ r6 <dbl> 0.02536232, 0.12393162, 0.03870968, 0.06103286, 0.12781955, 0.0495495...
$ r7 <dbl> 0.08695652, 0.16239316, 0.05161290, 0.11267606, 0.13909774, 0.0765765...
$ r8 <dbl> 0.1086957, 0.1666667, 0.1354839, 0.2112676, 0.1804511, 0.1171171, 0.0...
$ r9 <dbl> 0.15579710, 0.09829060, 0.17096774, 0.18309859, 0.13909774, 0.2207207...
$ r10 <dbl> 0.5398551, 0.2692308, 0.4322581, 0.3098592, 0.3383459, 0.4054054, 0.4...
A título de tornar nossa discussão mais interessante vamos gerar uma nova informação : “Um episódio faz parte da metade da temporada?” (middle_eps). Um episódio é da metade da temporada se está entre os 60% dos episódios centrais de uma temporada.
sumario_simples <-
episodes %>%
select(season_ep,season,series_name) %>%
group_by(series_name,season) %>%
summarise(n = n(),
p20 = quantile(seq(from=1, to=n, by=1), 0.20),
p80 = quantile(seq(from=1, to=n, by=1), 0.80))
episodes <- left_join(episodes, sumario_simples,
by = c("series_name", "season")) %>%
group_by(series_name, season) %>%
mutate(middle_eps = (season_ep > p20) &
(season_ep < p80)) %>%
ungroup()
episodes %>%
select(series_name, series_ep, middle_eps)
Comparemos então as avaliações dadas aos episódios das duas séries ao longo de suas 6 temporadas:
m <- list(
b = 100,
r = 185,
t = 75
)
p <- episodes %>%
ggplot(aes(x = series_name, y = user_rating,
color=middle_eps,
group=episode, text = paste(
"Série:", series_name,
"\nEpisódio:", episode,
"\nAvaliação:", user_rating
))) +
geom_jitter(width = 0.3, alpha=0.7) +
facet_wrap(~ season) +
xlab("") +
ylab("Votação do Usuário") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
scale_x_discrete(labels=c("GOT", "Xena")) +
labs(color='Metade da temporada?') +
ggtitle(paste("GOT x Xena (Temporada a Temporada)")) +
theme_update(plot.title = element_text(hjust = -1))
ggplotly(p, tooltip = "text") %>%
layout(autosize = F, margin = m)
É possível perceber que ao longo de todas as seis temporadas (na 5ª e 6ª temporada sendo menos unânime), quer sejam episódios do \(\color{red}{\text{começo/metade da temporada}}\), quer sejam \(\color{blue}{\text{do meio da temporada}}\), Game of Thrones (GOT) tem avaliações mais altas que Xena a Princeisa Guerreira (Xena).